package proto

import (
	"regexp"
	"sort"
	"time"
	D "websocket_apn/define"
	"websocket_apn/log"
)

/*
[DEBUG] [2025/04/24 21:46:34] [PRJ/websocket_apn/main_test.go]:[  150]:   ↑↑↑↑↑ S_DESTINY_FIGHT_ENTER - len:18
[DEBUG] [2025/04/24 21:46:34] [PRJ/websocket_apn/main_test.go]:[  157]:   PayloadBytes: 71 AB 00 00 00 12 00 03 85 2D 00 00 02D4 07 01 81 E2
2个待领取
[DEBUG] [2025/04/24 21:46:34] [PRJ/websocket_apn/main_test.go]:[  152]:   ↓↓↓↓↓ S_DESTINY_FIGHT_ENTER_RSP - len:206
[DEBUG] [2025/04/24 21:46:34] [PRJ/websocket_apn/main_test.go]:[  157]:   PayloadBytes: 71 AB 00 00 00 CE 00 00 77 ED 00 00 02D4 07 01 81 E2 08 00 12 57 0A 13 08 9C 4E 12 04 36 30 39 32 18 64 20 00 28 00 30 00 38 00 0A 13 08 AC 4E 12 04 36 30 38 37 18 64 20 00 28 00 30 00 38 00 0A 13 08 A9 4E 12 04 36 30 32 37 18 64 20 00 28 00 30 00 38 00 10 8F A8 C6 B5 E6 32 1806 28 00 30 00 38 FA CD 8C 01 40 00 48 64 50 01 12 57 0A 13 08 9E 4E 12 04 35 39 36 30 18 64 20 00 28 00 30 00 38 00 0A 13 08 9B 4E 12 04 35 39 34 36 18 64 20 00 28 00 30 00 38 00 0A 13 08 B4 4E 12 04 35 39 32 30 18 64 20 00 28 00 30 00 3800 10 97 E3 C6 B5 E6 32 18 07 28 01 30 00 38 BE CF 8C 01 40 00 48 64 50 01 18 00 20 01 20 01 28 03
71 AB 00 00 00 CE 00 00 77 ED 00 00 02 D4 07 01 81 E2 08 00
12 57 0A 13 08 9C 4E 12 04 36 30 39 32 18 64 20 00 28 00 30 00 38 00 0A 13 08 AC 4E 12 04 36 30 38 37 18 64 20 00 28 00 30 00 38 00 0A 13 08 A9 4E 12 04 36 30 32 37 18 64 20 00 28 00 30 00 38 00 10 8F A8 C6 B5 E6 32 18 06 28 00 30 00 38 FA CD 8C 01 40 00 48 64 50 01
12 57 0A 13 08 9E 4E 12 04 35 39 36 30 18 64 20 00 28 00 30 00 38 00 0A 13 08 9B 4E 12 04 35 39 34 36 18 64 20 00 28 00 30 00 38 00 0A 13 08 B4 4E 12 04 35 39 32 30 18 64 20 00 28 00 30 00 38 00 10 97 E3 C6 B5 E6 32 18 07 28 01 30 00 38 BE CF 8C 01 40 00 48 64 50 01
18 00 20 01 20 01 28 03
2个槽位，挑战均无次数
[DEBUG] [2025/04/24 22:03:51] [PRJ/websocket_apn/main_test.go]:[  152]:   ↓↓↓↓↓ S_DESTINY_FIGHT_ENTER_RSP - len:28
[DEBUG] [2025/04/24 22:03:51] [PRJ/websocket_apn/main_test.go]:[  157]:   PayloadBytes: 71 AB 00 00 00 1C 00 00 77 ED 00 00 02D4 07 01 81 E2 08 00 18 00 20 01 20 01 28 03

领取1
[DEBUG] [2025/04/24 21:51:03] [PRJ/websocket_apn/main_test.go]:[  150]:   ↑↑↑↑↑ S_DESTINY_FIGHT_GET_TASK_REWARD - len:23
[DEBUG] [2025/04/24 21:51:03] [PRJ/websocket_apn/main_test.go]:[  157]:   PayloadBytes: 71 AB 00 00 00 17 00 03 85 2F 00 00 02D4 07 01 81 E2 08 FA CD 8C 01
天池瑶光花 1050
[DEBUG] [2025/04/24 21:51:03] [PRJ/websocket_apn/main_test.go]:[  152]:   ↓↓↓↓↓ S_BAG_DATA_SYNC_MSG_RSP - len:30
[DEBUG] [2025/04/24 21:51:03] [PRJ/websocket_apn/main_test.go]:[  157]:   PayloadBytes: 71 AB 00 00 00 1E 00 00 01 2D 00 00 02D4 07 01 81 E2 0A 0A 08 82 8F 06 12 04 31 30 35 30
领取2
[DEBUG] [2025/04/24 21:52:01] [PRJ/websocket_apn/main_test.go]:[  150]:   ↑↑↑↑↑ S_DESTINY_FIGHT_GET_TASK_REWARD - len:23
[DEBUG] [2025/04/24 21:52:01] [PRJ/websocket_apn/main_test.go]:[  157]:   PayloadBytes: 71 AB 00 00 00 17 00 03 85 2F 00 00 02D4 07 01 81 E2 08 BE CF 8C 01

*/

// 解析瑶池仙踪信息
func ParaDestinyFightInfo(dataBytes []byte) D.DestinyFightInfo {
	allInfo := D.DestinyFightInfo{}
	data := BytesToHexStr(dataBytes)
	/*
		38 00 10 8F A8 C6 B5 E6 32 18 06 28 00 30 00 38 FA CD 8C 01 40 00 48 64 50 01
		38 00 10 97 E3 C6 B5 E6 32 18 07 28 01 30 00 38 BE CF 8C 01 40 00 48 64 50 01
	*/
	// 派遣任务					    1 任务完成时间        2 ID         3 Idx           4 ID
	re := regexp.MustCompile(`10([0-9A-F]{12})18([0-9A-F]{2})28(0[0-4])300038([0-9A-F]{8})40`)
	res := re.FindAllStringSubmatch(data, -1)
	if len(res) > 0 && len(res[0]) > 0 {
		nowTime := time.Now()
		for _, regRes := range res {
			if len(regRes) > 1 {
				info := D.DestinyTaskInfo{
					ID:   regRes[4],                      //任务ID
					Idx:  OneByteHexStrToByte(regRes[3]), //任务序号
					Time: ParaHexStrToTimeMs(regRes[1]),  //任务完成时间
				}
				if nowTime.After(info.Time) {
					info.Done = true
				}
				//log.Debugf("Task %+v", info)
				allInfo.Task = append(allInfo.Task, info)
			}
		}
	}
	// 派遣任务					           1 任务1     2 任务2     3 挑战次数
	re1 := regexp.MustCompile(`180[0-1]20(0[0-2])20(0[0-2])28(0[0-4])`)
	res1 := re1.FindAllStringSubmatch(data, -1)
	if len(res1) == 0 {
		log.Errorf("解析数据失败-%s", data)
	}
	// 打印结果
	for _, regRes := range res1 {
		if len(regRes) > 1 {
			allInfo.FightCount = OneByteHexStrToByte(regRes[3])
			allInfo.TaskCount[0] = OneByteHexStrToByte(regRes[1])
			allInfo.TaskCount[1] = OneByteHexStrToByte(regRes[2])
		}
	}
	return allInfo
}

/*
71 AB 00 00 0A 8D 00 00 77 FB 00 00 02 D4 08 94 30 6F 08 00

12 C4 01 0A 14 08 A0 4E 12 04 32 32 36 32 18 51 20 00 28 BE 17 30 00 38 00 0A 13 08 A3 4E 12 04 32 32 37 36 18 51 20 00 28 00    30 00 38 00 0A 13 08 AD 4E 12 04 35 39 34 31 18 64 20 00 28 00 30 00 38 00 10 CF C2 C1 C7 E6 32 18 05 22 68    08 C7 EC D2 E6 C0 5A 10 94 8C 09                      1A 07 F0 9F 90 BE E7 BB 98 20 B0 08                                  2A 0B 38 32 30 39 34 36 37 36 38 37 34 32 2A 08 8E DF C5 EC 73 10 F8 92 CD 04 18 01 22 0A F0 9F 90 BE E6 98 9F E7 81 AB 28 00 30 1B 38 8B E7 BD 01 40 3B 48 04 50 00 60 00 38 82 E5 08 40 8B E7 BD 01 4A 00 50 F6 EC 08 60 EE F4 08 70 00 78 AC 4E 28 01 30 FF 8E 06 38 FF DE A3 01 40 01 48 64 50 02
12 FD 02 0A 14 08 A0 4E 12 04 36 31 33 30 18 65 20 00 28 BE 17 30 00 38 00 0A 14 08 A1 4E 12 04 32 32 37 38 18 51 20 00 28 BB 17 30 00 38 00 0A 13 08 9C 4E 12 04 32 32 34 36 18 51 20 00 28 00 30 00 38 00 10 FB F3 A4 C7 E6 32 18 04 22 9F 02 08 BB BF E0 98 C0 5A 10 A9 B1 07                      1A 10 E5 B1 B1 E6 B5 B7 F0 9F 90 BE E5 BD 92 E9 9B B6 20 D3 04       2A 0B 32 31 33 31 33 32 33 34 30 32 35 32 34 08 82 9A DE EB 73 10 B8 D6 C3 04 18 E3 B6 0D 22 10 F0 9F 90 BE E5 B1 B1 E6 B5 B7 E7 BB 98 E5 8D B7 28 00 30 18 38 E1 E5 BD 01 40 3B 48 04 50 00 60 E2 89 1C 38 DD E5 08 40 E8 E5 BD 01 4A A5 01 68 74 74 70 73 3A 2F 2F 74 68 69 72 64 77 78 2E 71 6C 6F 67 6F 2E 63 6E 2F 6D 6D 6F 70 65 6E 2F 76 69 5F 33 32 2F 50 69 61 6A 78 53 71 42 52 61 45 4C 6D 62 4B 51 77 34 7A 41 47 6B 42 6F 58 37 48 6F 30 50 4E 37 6A 46 6C 44 73 58 4F 55 50 65 66 66 75 76 73 70 65 4A 51 34 38 59 69 61 36 49 77 78 4F 38 55 36 70 4C 6B 4E 65 76 6B 4A 56 69 62 74 30 47 64 56 6C 43 32 76 4B 6B 42 79 69 62 70 71 36 6C 6C 56 37 54 59 6E 74 77 41 79 54 31 79 36 39 69 63 30 64 39 6B 78 6D 35 58 49 36 33 77 2F 31 33 32 50 F1 EC 08 60 00 70 00 78 9F 4E 28 00 30 FF 8E 06 38 9B C0 A3 01 40 01 48 64 50 0A
12 F2 02 0A 13 08 9C 4E 12 04 32 32 32 31 18 51 20 00 28 00    30 00 38 00 0A 13 08 95 4E 12 04 32 32 31 38 18 51 20 00 28 00    30 00 38 00 0A 13 08 92 4E 12 04 32 31 39 34 18 51 20 00 28 00 30 00 38 00 10 D7 9D B6 C6 E6 32 18 02 22 98 02 08 B0 90 B7 A4 C0 5A 10 FF FF FF FF FF FF FF FF FF 01 1A 10 E5 A4 A9 E5 A4 96 F0 9F 8D B7 E9 86 89 E5 B8 85 20 A7 07       2A 0B 35 31 36 32 35 32 37 36 34 31 33 32 31 08 A6 FB F0 EB 73 10 D0 B1 BC 04 18 E2 B6 0D 22 0D E5 A4 A9 E5 A4 96 E5 A4 A9 F0 9F 8E 96 28 00 30 03 38 80 E6 BD 01 40 3A 48 06 50 00 60 E1 89 1C 38 FA E5 08 40 80 E6 BD 01 4A 9A 01 68 74 74 70 73 3A 2F 2F 74 68 69 72 64 77 78 2E 71 6C 6F 67 6F 2E 63 6E 2F 6D 6D 6F 70 65 6E 2F 76 69 5F 33 32 2F 74 39 76 65 49 4D 6F 59 59 4E 49 36 41 36 4A 7A 69 63 41 62 30 77 38 57 50 39 76 31 34 75 54 7A 77 33 73 45 62 77 78 72 31 69 61 32 70 70 34 71 41 59 37 50 34 7A 74 6B 4E 59 69 63 30 45 49 47 4E 50 36 54 75 58 35 67 55 5A 78 50 48 52 69 62 46 63 58 42 77 72 46 59 31 68 79 52 7A 4F 61 47 70 71 31 74 69 62 73 73 33 57 7A 78 65 46 4E 59 2F 31 33 32 50 F2 EC 08 60 00 70 00 78 AB 4E 28 01 30 00 38 CF D9 A2 01 40 01 48 64 50 01
12 CD 02 0A 13 08 91 4E 12 04 36 31 32 32 18 65 20 00 28 00    30 00 38 00 0A 13 08 97 4E 12 04 35 39 36 34 18 64 20 00 28 00    30 00 38 00 0A 13 08 9B 4E 12 04 34 30 35 33 18 5A 20 00 28 00 30 00 38 00 10 DC FA B9 C4 E6 32 18 04 22 F1 01 08 C4 96 D1 E6 C0 5A 10 97 E5 08                      1A 0A F0 9F 90 BE E4 B8 80 E4 BF AE 20 9A 07                         2A 0B 34 32 36 33 33 35 33 32 31 36 31 32 2A 08 8E DF C5 EC 73 10 F8 92 CD 04 18 01 22 0A F0 9F 90 BE E6 98 9F E7 81 AB 28 00 30 1B 38 8B E7 BD 01 40 3B 48 04 50 00 60 00 38 97 E5 08 40 8B E7 BD 01 4A 85 01 68 74 74 70 73 3A 2F 2F 74 68 69 72 64 77 78 2E 71 6C 6F 67 6F 2E 63 6E 2F 6D 6D 6F 70 65 6E 2F 76 69 5F 33 32 2F 6D 4A 57 77 39 52 77 69 63 38 71 42 58 4C 64 4F 31 41 61 53 57 34 50 36 73 6F 68 6D 46 73 59 61 31 4D 4B 7A 46 69 63 55 46 57 47 79 6A 46 66 44 4A 50 47 4B 69 63 4F 38 43 49 67 6F 65 33 61 57 4F 45 69 63 33 49 38 59 71 4B 66 61 53 33 38 74 4D 63 39 6C 46 6A 56 69 61 41 51 2F 31 33 32 50 F6 EC 08 60 D6 F4 08 70 00 78 AD 4E 28 02 30 FF 8E 06 38 C6 85 A1 01 40 01 48 64 50 01
12 DF 02 0A 13 08 93 4E 12 04 36 31 32 32 18 65 20 00 28 00    30 00 38 00 0A 13 08 92 4E 12 04 36 30 38 30 18 64 20 00 28 00    30 00 38 00 0A 13 08 9D 4E 12 04 32 36 30 33 18 53 20 00 28 00 30 00 38 00 10 A8 B7 8F C3 E6 32 18 05 22 85 02 08 F3 9B DF 97 C0 5A 10 FF FF FF FF FF FF FF FF FF 01 1A 10 E5 B1 B1 E6 B5 B7 F0 9F 90 BE E9 9B A8 E5 8F 8C 20 85 06       2A 0B 31 39 30 38 37 33 37 36 39 32 32 32 34 08 82 9A DE EB 73 10 B8 D6 C3 04 18 E3 B6 0D 22 10 F0 9F 90 BE E5 B1 B1 E6 B5 B7 E7 BB 98 E5 8D B7 28 00 30 18 38 E1 E5 BD 01 40 3B 48 04 50 00 60 E2 89 1C 38 A7 CB 08 40 E6 E5 BD 01 4A 84 01 68 74 74 70 73 3A 2F 2F 74 68 69 72 64 77 78 2E 71 6C 6F 67 6F 2E 63 6E 2F 6D 6D 6F 70 65 6E 2F 76 69 5F 33 32 2F 44 59 41 49 4F 67 71 38 33 65 6F 6D 30 77 7A 78 64 4B 6E 63 6C 69 61 4A 66 74 68 51 75 33 72 41 69 62 63 61 66 4C 55 58 66 61 31 39 48 75 6B 43 47 58 35 76 32 76 4F 33 54 6D 56 36 5A 42 46 6B 4C 7A 36 31 54 69 61 4C 64 32 71 4E 41 49 78 52 69 61 4B 63 44 4C 4E 59 43 77 2F 31 33 32 50 00 60 F9 F4 08 70 00 78 94 4E 28 00 30 00 38 8B F7 9F 01 40 01 48 64 50 01
12 D0 01 0A 13 08 97 4E 12 04 36 30 31 38 18 64 20 00 28 00    30 00 38 00 0A 13 08 9D 4E 12 04 36 30 30 38 18 64 20 00 28 00    30 00 38 00 0A 13 08 99 4E 12 04 35 39 35 38 18 64 20 00 28 00 30 00 38 00 10 DD D1 9A C5 E6 32 18 05 22 77    08 8C CD FC 85 C0 5A 10 AB E5 08                      1A 12 E3 80 86 E3 80 81 E5 A4 A9 E4 B8 8A E7 A5 9E E4 BB 99 20 A7 07 2A 0B 35 34 30 32 30 37 35 33 39 31 35 32 32 08 A6 C1 C8 EB 73 10 F0 DE E1 04 18 05 22 10 E7 BF A9 E8 8B A5 E6 83 8A E9 B8 BF F0 9F 90 97 28 00 30 03 38 BE E5 BD 01 40 3B 48 03 50 00 60 E1 89 1C 38 F8 E5 08 40 C0 E5 BD 01 4A 00 50 00 60 00 70 00 78 AE 4E 28 01 30 00 38 C7 D8 A1 01 40 01 48 64 50 01
12 F2 02 0A 13 08 93 4E 12 04 32 33 30 32 18 52 20 00 28 00    30 00 38 00 0A 13 08 94 4E 12 04 32 33 30 32 18 52 20 00 28 00    30 00 38 00 0A 13 08 98 4E 12 04 32 32 32 32 18 51 20 00 28 00 30 00 38 00 10 BA 87 AB C6 E6 32 18 03 22 98 02 08 B0 90 B7 A4 C0 5A 10 FF FF FF FF FF FF FF FF FF 01 1A 10 E5 A4 A9 E5 A4 96 F0 9F 8D B7 E9 86 89 E5 B8 85 20 A7 07       2A 0B 35 31 36 32 35 32 37 36 34 31 33 32 31 08 A6 FB F0 EB 73 10 D0 B1 BC 04 18 E2 B6 0D 22 0D E5 A4 A9 E5 A4 96 E5 A4 A9 F0 9F 8E 96 28 00 30 03 38 80 E6 BD 01 40 3A 48 06 50 00 60 E1 89 1C 38 FA E5 08 40 80 E6 BD 01 4A 9A 01 68 74 74 70 73 3A 2F 2F 74 68 69 72 64 77 78 2E 71 6C 6F 67 6F 2E 63 6E 2F 6D 6D 6F 70 65 6E 2F 76 69 5F 33 32 2F 74 39 76 65 49 4D 6F 59 59 4E 49 36 41 36 4A 7A 69 63 41 62 30 77 38 57 50 39 76 31 34 75 54 7A 77 33 73 45 62 77 78 72 31 69 61 32 70 70 34 71 41 59 37 50 34 7A 74 6B 4E 59 69 63 30 45 49 47 4E 50 36 54 75 58 35 67 55 5A 78 50 48 52 69 62 46 63 58 42 77 72 46 59 31 68 79 52 7A 4F 61 47 70 71 31 74 69 62 73 73 33 57 7A 78 65 46 4E 59 2F 31 33 32 50 F2 EC 08 60 00 70 00 78 AB 4E 28 00 30 00 38 BC D0 A2 01 40 01 48 64 50 01
12 EC 02 0A 13 08 9C 4E 12 04 36 36 37 36 18 66 20 00 28 00    30 00 38 00 0A 13 08 97 4E 12 04 36 33 38 32 18 65 20 00 28 00    30 00 38 00 0A 13 08 94 4E 12 04 34 34 38 37 18 5C 20 00 28 00 30 00 38 00 10 98 FE F0 C5 E6 32 18 02 22 92 02 08 91 FE DC 85 C0 5A 10 93 8C 09                      1A 0F E9 97 AE E5 A4 A9 E3 80 81 E9 A3 8E E9 9B AA 20 EA 05          2A 0B 31 34 30 30 32 30 38 35 34 38 37 32 26 08 C2 A9 C9 EB 73 10 AC B6 B6 04 18 05 22 06 E9 97 AE E5 A4 A9 28 00 30 18 38 BF E5 BD 01 40 3B 48 02 50 00 60 00 38 F8 E5 08 40 C0 E5 BD 01 4A A7 01 68 74 74 70 73 3A 2F 2F 74 68 69 72 64 77 78 2E 71 6C 6F 67 6F 2E 63 6E 2F 6D 6D 6F 70 65 6E 2F 76 69 5F 33 32 2F 50 69 61 6A 78 53 71 42 52 61 45 4C 47 6B 6F 66 4B 4B 6B 67 71 56 46 38 41 34 39 47 39 48 78 51 4E 42 75 58 4C 6F 39 75 51 79 35 4C 45 46 4A 77 4F 4D 42 69 61 72 63 69 61 38 6C 7A 41 55 74 31 71 39 72 75 6B 63 50 32 54 74 59 76 57 6A 71 36 38 68 4F 6F 64 41 51 49 51 69 63 50 69 63 75 32 71 33 69 63 74 66 56 4A 74 36 48 69 63 73 70 79 62 6E 36 47 76 33 35 4B 4B 66 48 41 51 2F 31 33 32 50 00 60 D6 F4 08 70 00 78 94 4E 28 01 30 00 38 CE 9F A2 01 40 01 48 64 50 01

18 00 20 00 28 C7 E5 BD 01 28 E8 E5 BD 01 28 E3 E6 BD 01 28 E6 E5 BD 01 28 80 E6 BD 01 28 DB E6 BD 01 28 C0 E5 BD 01 28 B4 E6 BD 01 28 AB E6 BD 01 28 95 E6 BD 01 28 C4 E6 BD 01 28 81 E6 BD 01 28 B7 E6 BD 01 28 87 E6 BD 01 28 E9 E6 BD 01 28 8B E7 BD 01

*/
// 解析瑶池仙踪挑战信息
func ParaDestinyFightListInfo(dataBytes []byte) D.DestinyFightListInfo {
	allInfo := D.DestinyFightListInfo{}
	data := BytesToHexStr(dataBytes)
	// 					                                                   1 仙友数据							2 到期时间                                          3 道友ID                                             4 道友名称                              5 任务ID
	re := regexp.MustCompile(`12(?:[0-9A-F]{2}){1,2}((?:0A[0-9A-F]{2}08(?:[0-9A-F]{2})+?30003800)+?)10([0-9A-F]{12})18[0-9A-F]{2}22(?:[0-9A-F]{2}){1,2}08([0-9A-F]{12})10(?:[0-9A-F]{2}){1,10}1A[0-9A-F]{2}((?:[0-9A-F]{2})+?)20[0-9A-F]{4}2A[0-9A-F]{2}3[0-9](?:[0-9A-F]{2})+?38([0-9A-F]{8})4001`)
	res := re.FindAllStringSubmatch(data, -1)
	if len(res) > 0 && len(res[0]) > 0 {
		for _, regRes := range res {
			if len(regRes) > 1 {
				info := D.DestinyPersonInfo{
					TaskID: regRes[5],                  //ID
					UserID: regRes[3],                  //用户ID
					Name:   HexDataStrToStr(regRes[4]), //用户名字
					//CombatValue int64   //妖力
					//CharmList  []int64 //魅力值
					Charm: 0, //总魅力值
				}
				//log.Debugf("%s", regRes[3:])
				// 					                            1 仙友ID                    2 仙友魅力      3 仙友等级
				re1 := regexp.MustCompile(`0A[0-9A-F]{2}08([0-9A-F]{4})12[0-9A-F]{2}((?:3[0-9])+?)18([0-9A-F]{2})200028(?:[0-9A-F]{2}){1,2}30003800`)
				res1 := re1.FindAllStringSubmatch(regRes[1], -1)
				if len(res1) > 0 && len(res1[0]) > 0 {
					for _, regRes := range res1 {
						if len(regRes) > 1 {
							charm := HexDataStrToInt64(regRes[2])
							info.Charm += charm
							info.CharmList = append(info.CharmList, charm)
						}
					}
				}
				allInfo.Person = append(allInfo.Person, info)
			}
		}
		sort.Sort(D.DestinyPersonInfoSort(allInfo.Person))
		for _, info := range allInfo.Person {
			log.Debugf("%+v", info)
		}
	}
	//
	return allInfo
}

// 解析瑶池仙踪仙友信息
func ParaDestinySelfInfo(dataBytes []byte) []D.DestinySelfInfo {
	var allInfo []D.DestinySelfInfo
	if len(dataBytes) < 5 {
		return allInfo
	}
	data := BytesToHexStr(dataBytes)
	//                                             1 ID        2 委派次数                  3 挑战次数      4 长度    5 魅力值
	re := regexp.MustCompile(`12[0-9A-F]{2}08([0-9A-F]{4})10(0[0-9])(?:18[0-9A-F]{2})?20(0[0-9])2A([0-9A-F]{2})((?:3[0-9])+)`)
	res := re.FindAllStringSubmatch(data, -1)
	if len(res) == 0 {
		log.Errorf("解析数据失败-%s", data)
	}
	//打印结果
	for _, regRes := range res {
		info := D.DestinySelfInfo{
			ID:         regRes[1],                      //ID
			Name:       D.GetDestinyName(regRes[1]),    //名字
			Delegation: OneByteHexStrToByte(regRes[2]), //委派次数
			Fight:      OneByteHexStrToByte(regRes[3]), //挑战次数
		}
		dLen := int(OneByteHexStrToByte(regRes[4])) * 2
		if len(regRes[5]) >= dLen {
			info.Charm = HexDataStrToInt64(regRes[5][:dLen]) //魅力值
		}
		allInfo = append(allInfo, info)
	}
	sort.Sort(D.DestinySelfInfoSort(allInfo))
	//for _, info := range allInfo {
	//	log.Debugf("%+v", info)
	//}
	return allInfo
}
